Comparative Studies of 10 Programming Languages within 10 Diverse Criteria -- a Team 7 COMP6411-S10 Term Report

نویسندگان

  • Sleiman Rabah
  • Jiang Li
  • Mingzhi Liu
  • Yuanwei Lai
چکیده

Window Toolkit (AWT) was the first Java’s technology/component set for building graphical user interfaces (GUI). AWT UIs were very slow to run with limited functionalities due to the small number of provided components. Just-in-time compilers (JIT) were introduced in order to improve applications’ execution and performance and Java Foundation Classes (JFC) technology was released also to improve productivity and to provide a new rich set of components. JFC provides a group of features and graphic functionalities that can be mixed together for building powerful and extendable desktop applications. Among these features are internationalization which enables to build applications that support different languages and cultural conventions, pluggable look-and-feel which allows to choose a look among wide choices of look and feel and themes on different platform/operating systems (GTK+, Motif, Windows, Macintosh) and many more. As part of JFC, Java Swing is an API which provides a set of GUI components such as buttons, tables, text box and features for printing, drag and drop, customizing components layout and many more [67]. AspectJ-based Swing enables developers to build either document interface (MDI) using the JdesktopPane container and JinternalFrames or single document interface (SDI) GUIs. The NetBeans IDE provides a user interface designer (UID) allowing developers to design/prototype GUIs. Also, there are some plug-in for the Eclipse IDE which can be used to design interfaces with Swing. On the other hand, the .NET Framework was first released with the Windows Forms (WinForms) API as a part of it. WinForms is not flexible enough and is said platform-dependent since it is built upon the Windows API (the famous WinAPI or Win32 API) which resulted in a bad design and it doesn’t support the model-view-controller architecture. To resolve this problem and push further the UI development, Microsoft has introduced the Windows Presentation Foundation (WPF) a new revolutionary technology for building platform-independent GUIs, [68]. WPF provides much better functionalities than Swing including animations, data templates, effects, templates and many more. Also, WPF is based on the XAML (Extensible Application Markup Language) which is a new declarative language where developers can either manually or using the UI designer describe/declare the properties of the UI’s controls and components without the use of the traditional imperative programming [68]. The main goal of XAML is to isolate the graphical content from the code which resulted in a cleaner and better understandable and maintainable code. WinForms and WPF are not part of .NET’s Base Class Library (BCL) which means they are not standardized as of the ECMA/ISO standards. To build applications using the WinForms the System.Windows.Forms.dll library should be used and referenced, same for WPF where the System.Windows.dll is required. AspectJ-based Swing is built-in Java and no libraries/references are needed to do so (it can be directly imported using the import keyword i.e import javax.swing.*)[68]. Visual Studio C# comes with a user interface designer (UID) and Toolbox which enable users to add control/components such as buttons, text box, menus, toolbars and so on to the design interface and set their properties and their events handlers. Swing, WinForms and WPF are popular and used in different development projects, but nowadays, Microsoft’s technologies are more popular and suitable to build desktop applications. WinForms or WPF have a high interoperability with the MS SQL Server database system. C# has a lot of advantages over AspectJ-based Swing for prototyping UIs, a WPF code can be simply embedded in a web ASP.NET application without any configuration since WPF can be executed in any browser [69]. There are some discussions and rumors over the web that AspectJ/Java Swing is dead and it is no longer used in development projects: before Java 1.5, Java Swing left a bad perception behind.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Comparative Studies of 10 Programming Languages within 10 Diverse Criteria - a Team 10 COMP6411-S10 Term Report

This is a survey on the programming languages: C++, JavaScript, AspectJ, C#, Haskell, Java, PHP, Scala, Scheme, and BPEL. Our survey work involves a comparative study of these ten programming languages with respect to the following criteria: secure programming practices, web application development, web service composition, OOP-based abstractions, reflection, aspect orientation, functional prog...

متن کامل

Comparing Selected Criteria of Programming Languages Java, PHP, C++, Perl, Haskell, AspectJ, Ruby, COBOL, Bash Scripts and Scheme Revision 1.0 - a Team CPLgroup COMP6411-S10 Term Report

Comparison of programming languages is a common topic of discussion among software engineers. Few languages ever become sufficiently popular that they are used by more than a few people or find their niche in research or education; but professional programmers can easily use dozens of different languages during their career. Multiple programming languages are designed, specified, and implemente...

متن کامل

Comparative study of the Pros and Cons of Programming languages Java, Scala, C++, Haskell, VB .NET, AspectJ, Perl, Ruby, PHP & Scheme - a Team 11 COMP6411-S10 Term Report

With the advent of numerous languages it is difficult to realize the edge of one language in a particular scope over another one. We are making an effort, realizing these few issues and comparing some main stream languages like Java, Scala, C++, Haskell, VB .NET, AspectJ, Perl, Ruby, PHP and Scheme keeping in mind some core issues in program development. General terms languages

متن کامل

Comparative Studies of Programming Languages; Course Lecture Notes

Lecture notes for the Comparative Studies of Programming Languages course, COMP6411, taught at the Department of Computer Science and Software Engineering, Faculty of Engineering and Computer Science, Concordia University, Montreal, QC, Canada. These notes include a compiled book of primarily related articles from the Wikipedia, the Free Encyclopedia, as well as Comparative Programming Language...

متن کامل

Team-Based Integrated Knowledge Translation for Enhancing Quality of Life in Long-term Care Settings: A Multi-method, Multi-sectoral Research Design

Multi-sectoral, interdisciplinary health research is increasingly recognizing integrated knowledge translation (iKT) as essential. It is characterized by diverse research partnerships, and iterative knowledge engagement, translation processes and democratized knowledge production. This paper reviews the methodological complexity and decision-making of a large iKT projec...

متن کامل

Towards cross-lingual alerting for bursty epidemic events

BACKGROUND Online news reports are increasingly becoming a source for event-based early warning systems that detect natural disasters. Harnessing the massive volume of information available from multilingual newswire presents as many challanges as opportunities due to the patterns of reporting complex spatio-temporal events. RESULTS In this article we study the problem of utilising correlated...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • CoRR

دوره abs/1009.0305  شماره 

صفحات  -

تاریخ انتشار 2010